package cn.ezios.huo.system.dao.service;

import cn.ezios.huo.system.dao.domain.SysRole;
import cn.ezios.huo.system.dao.dto.SysRoleDTO;
import cn.ezios.huo.system.dao.vo.SysRoleVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

/**
* @author 王坚
* @description 针对表【sys_role(系统角色)】的数据库操作Service
* @createDate 2024-07-17 09:49:16
*/
public interface SysRoleService extends IService<SysRole> {

    /**
     * 分页查询
     * @param current
     * @param size
     * @param dto
     * @return
     */
    IPage<SysRoleVO> queryPage(Integer current, Integer size, SysRoleDTO dto);

    /**
     * 新增角色
     * @param sysRoleDTO
     * @return
     */
    boolean createRoleWithMenuIds(SysRoleDTO sysRoleDTO);

    /**
     * 修改角色
     * @param sysRoleDTO
     * @return
     */
    boolean updateRoleWithMenuIds(SysRoleDTO sysRoleDTO);

    /**
     * 删除角色
     * @param id
     * @return
     */
    boolean deleteRoleWithMenuIds(String id);

    /**
     * 根据id查询角色信息
     * @param id
     * @return
     */
    SysRoleVO getRoleById(String id);

    /**
     * 根据id查询角色信息，叶子菜单
     * @param id
     * @return
     */
    SysRoleVO getRoleWithLeafMenuIds(String id);
}
